dddddd has quit [Remote host closed the connection]
robotoad has joined #lisp
housel` is now known as housel
slyrus has quit [Quit: slyrus]
slyrus has joined #lisp
fluke` has quit [Read error: Connection reset by peer]
xrash has joined #lisp
fluke` has joined #lisp
SaganMan has quit [Quit: WeeChat 1.6]
fluke` has quit [Remote host closed the connection]
pierpal has quit [Ping timeout: 244 seconds]
brettgilio has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
dmiles has quit [Ping timeout: 244 seconds]
<jasom>
as usual, the problem can be blamed on prolog.
Kundry_Wag has quit [Ping timeout: 244 seconds]
<stylewarning>
hello friends
jibanes has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 260 seconds]
<LdBeth>
Greetings.
jibanes has joined #lisp
brettgilio has joined #lisp
fikka has joined #lisp
brettgilio has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 244 seconds]
brettgilio has joined #lisp
brettgilio has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 260 seconds]
brettgilio has joined #lisp
orivej has joined #lisp
DingoSaar has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
patlv has joined #lisp
BitPuffin has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
fikka has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
flip214 has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 244 seconds]
brettgilio has quit [Remote host closed the connection]
ntqz has quit []
karswell has joined #lisp
nowhereman_ has quit [Ping timeout: 240 seconds]
nowhereman_ has joined #lisp
fikka has joined #lisp
sjl has quit [Quit: WeeChat 2.2-dev]
graphene has quit [Remote host closed the connection]
graphene has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
Josh_2 has quit [Remote host closed the connection]
MinnowTaur has quit [Remote host closed the connection]
fikka has joined #lisp
Kundry_Wag has joined #lisp
graphene has quit [Remote host closed the connection]
mindCrime_ has quit [Excess Flood]
mindCrime_ has joined #lisp
graphene has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
robotoad has quit [Quit: robotoad]
markoong has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
robotoad has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
brettgilio has joined #lisp
mindCrime_ has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
FreeBirdLjj has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
red-dot has joined #lisp
FreeBirdLjj has quit [Ping timeout: 244 seconds]
brettgilio has quit [Remote host closed the connection]
fikka has joined #lisp
DingoSaar has joined #lisp
flip214 has joined #lisp
flip214 has quit [Changing host]
flip214 has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
milanj has quit [Quit: This computer has gone to sleep]
jibanes has quit [Ping timeout: 244 seconds]
fikka has joined #lisp
mindCrime_ has joined #lisp
pierpa has quit [Quit: Page closed]
tll has joined #lisp
jibanes has joined #lisp
brettgilio has joined #lisp
buffergn0me has joined #lisp
rumbler3_ has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 244 seconds]
pjb` has joined #lisp
pjb has quit [Ping timeout: 256 seconds]
brettgilio has quit [Quit: Leaving]
_whitelogger has joined #lisp
patlv has quit [Remote host closed the connection]
patlv has joined #lisp
k4rtik has joined #lisp
fikka has joined #lisp
graphene has quit [Remote host closed the connection]
graphene has joined #lisp
patlv has quit [Ping timeout: 240 seconds]
graphene has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
Kundry_W_ has joined #lisp
k4rtik has quit [Ping timeout: 240 seconds]
graphene has joined #lisp
pjb` has quit [Remote host closed the connection]
pjb` has joined #lisp
pierpal has joined #lisp
Kundry_W_ has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
nsrahmad has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
quazimodo has quit [Ping timeout: 240 seconds]
quazimodo has joined #lisp
graphene has quit [Read error: Connection reset by peer]
graphene has joined #lisp
fikka has joined #lisp
pjb` has quit [Remote host closed the connection]
graphene has quit [Remote host closed the connection]
pjb` has joined #lisp
rumbler31 has joined #lisp
graphene has joined #lisp
<jeosol>
CL = best programming language there is, when you hit that sweet spot
<jeosol>
morning guys
fikka has quit [Ping timeout: 240 seconds]
pjb` has quit [Remote host closed the connection]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
pjb` has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
fikka has quit [Read error: Connection reset by peer]
graphene has quit [Remote host closed the connection]
anewuser has quit [Quit: anewuser]
graphene has joined #lisp
buffergn0me has quit [Ping timeout: 260 seconds]
Kundry_Wag has quit [Ping timeout: 264 seconds]
jkordani has quit [Read error: Connection reset by peer]
slyrus_ has quit [Ping timeout: 268 seconds]
pjb` has quit [Remote host closed the connection]
karlosz has quit [Ping timeout: 264 seconds]
pierpal has quit [Quit: Poof]
pjb` has joined #lisp
pierpal has joined #lisp
lavaflow_ has quit [Ping timeout: 240 seconds]
igemnace has joined #lisp
<stylewarning>
jeosol: CL could be better
pjb` has quit [Remote host closed the connection]
graphene has quit [Remote host closed the connection]
lavaflow_ has joined #lisp
pjb` has joined #lisp
graphene has joined #lisp
brettgilio has joined #lisp
graphene has quit [Remote host closed the connection]
graphene has joined #lisp
slyrus_ has joined #lisp
fikka has joined #lisp
pjb` has quit [Remote host closed the connection]
brettgilio has quit [Remote host closed the connection]
nsrahmad has quit [Ping timeout: 265 seconds]
fikka has quit [Ping timeout: 244 seconds]
slyrus_ has quit [Ping timeout: 244 seconds]
emacsomancer has joined #lisp
Kundry_Wag has joined #lisp
<edgar-rft>
stylewarning, what's wrong with CopyLeft?
EvW has joined #lisp
<stylewarning>
CopyLeft could have cool things like recursive structures and parametric polymorphism and jump tables
<edgar-rft>
that's definitely true
<stylewarning>
(:
* edgar-rft
jumps on his table
<parjanya>
recursively?
DingoSaar has quit [Ping timeout: 240 seconds]
caltelt has joined #lisp
emacsomancer has quit [Read error: Connection reset by peer]
fikka has joined #lisp
<edgar-rft>
I'll curse when I fall down
<edgar-rft>
Then you can rcurse
<edgar-rft>
*recurse
slyrus_ has joined #lisp
<PuercoPop>
What I would like is an extensible environment to develop in similar to Smalltalk. McCLIM is the best FLOSS alternative in that direction that I know of. But as they say, "Write the code you want to see in the World"
fikka has quit [Ping timeout: 244 seconds]
<stylewarning>
parjanya: I want to DEFSTRUCT A and B with them referring to one another with :type and not have CL croak
parjanya has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
housel has quit [Remote host closed the connection]
housel has joined #lisp
<Bike>
definition forms not based on compile time side effecting? wack
fikka has joined #lisp
rumbler31 has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 240 seconds]
Pixel_Outlaw has quit [Quit: Leaving]
Kundry_Wag has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
orivej has quit [Ping timeout: 268 seconds]
Bike has quit [Quit: Lost terminal]
patlv has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
slyrus_ has quit [Ping timeout: 248 seconds]
patlv has quit [Remote host closed the connection]
patlv has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
SaganMan has joined #lisp
graphene has quit [Remote host closed the connection]
igemnace has quit [Remote host closed the connection]
graphene has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
slyrus_ has joined #lisp
brettgilio has joined #lisp
fikka has joined #lisp
patlv has quit [Ping timeout: 240 seconds]
brettgilio has quit [Remote host closed the connection]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
brettgilio has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
mflem has quit [Read error: Connection reset by peer]
Oddity has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 244 seconds]
brettgilio has quit [Remote host closed the connection]
brettgilio has joined #lisp
buffergn0me has joined #lisp
Oddity has joined #lisp
graphene has quit [Remote host closed the connection]
brettgilio has quit [Remote host closed the connection]
eminhi has joined #lisp
graphene has joined #lisp
fikka has joined #lisp
<beach>
Good morning everyone!
brettgilio has joined #lisp
brettgilio has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
nowhereman_ has quit [Read error: Connection reset by peer]
nowhere_man has joined #lisp
brettgilio has joined #lisp
fikka has joined #lisp
brettgilio has quit [Remote host closed the connection]
brettgilio has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 264 seconds]
nika has joined #lisp
fikka has joined #lisp
skapata has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 268 seconds]
eminhi has quit [Remote host closed the connection]
k4rtik has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
ebrasca has quit [Read error: Connection reset by peer]
ebrasca has joined #lisp
shrdlu68 has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
wxie has joined #lisp
housel has quit [Remote host closed the connection]
SN has joined #lisp
shrdlu68 has quit [Ping timeout: 256 seconds]
red-dot has quit [Ping timeout: 240 seconds]
SN is now known as red-dot
shrdlu68 has joined #lisp
FreeBirdLjj has joined #lisp
pjb has joined #lisp
Kundry_Wag has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
red-dot has joined #lisp
rippa has joined #lisp
fikka has joined #lisp
jasmith has quit [Ping timeout: 276 seconds]
thuffir has quit [Ping timeout: 240 seconds]
jasmith has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
buffergn0me has quit [Ping timeout: 264 seconds]
vlatkoB has joined #lisp
fikka has joined #lisp
milanj has joined #lisp
thuffir has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
nickenchuggets has quit [Quit: Leaving]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
slyrus_ has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Ping timeout: 240 seconds]
saki has joined #lisp
jasmith has quit [Quit: Leaving]
eminhi has joined #lisp
chiyosaki has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
froggey has quit [Ping timeout: 240 seconds]
jasmith has joined #lisp
k4rtik has quit [Ping timeout: 268 seconds]
FreeBirdLjj has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
froggey has joined #lisp
ebrasca has quit [Remote host closed the connection]
slyrus_ has joined #lisp
nirved has quit [Quit: Leaving]
brettgilio has quit [Remote host closed the connection]
fikka has joined #lisp
Kundry_Wag has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Ping timeout: 268 seconds]
shrdlu68 has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
shrdlu68 has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
fikka has quit [Read error: Connection reset by peer]
pseudonymous_ has quit [Quit: Leaving]
thuffir has quit [Ping timeout: 264 seconds]
caltelt has quit [Ping timeout: 240 seconds]
shrdlu68 has quit [Ping timeout: 276 seconds]
wxie has quit [Quit: Bye.]
fikka has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
lavaflow_ has quit [Read error: Connection reset by peer]
lavaflow_ has joined #lisp
pjb has quit [Remote host closed the connection]
johnnymacs has joined #lisp
<johnnymacs>
Linked lists are turing complete yes?
fikka has joined #lisp
<beach>
johnnymacs: What on earth is that supposed to mean? Linked lists do not have any computation power.
shka_ has joined #lisp
angavrilov has joined #lisp
<johnnymacs>
Is it not true that I can represent the number five as a linked list 5 deep and represent subtractionf rom that list as popping the the list 3 times to get a list 2 deep. And isn't it true that I can represent an array as a list, and isn't it true that I can represent an integer reteurn value as a list, and isn't it true I can represent and integer input value as a list?
fikka has quit [Ping timeout: 240 seconds]
<beach>
I think you need to read up on Turing completeness.
<johnnymacs>
Isn't it true that early lisps were implemented using only linked lists?
<stylewarning>
johnnymacs: representation of values is only a part of any sort of computing device/program/interpreter/etc
<stylewarning>
johnnymacs: What is the thing that actually transforms those lists?
<stylewarning>
Even if we can represent 2 and 3 as lists, who is in charge of computing, say, 2+3 as a list?
fikka has joined #lisp
<johnnymacs>
c I suppose
<stylewarning>
Whatever that “something” is—an interpreter—is what you can have a conversation about Turing completeness over
<LdBeth>
stylewarning: you may be interested in lambda calculus
<johnnymacs>
I think I understand now thank you
<stylewarning>
LdBeth: how about System Fω? :)
fikka has quit [Ping timeout: 240 seconds]
<LdBeth>
Just get back from Forth, now I learned how to program without lists
Kundry_Wag has joined #lisp
fikka has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 244 seconds]
orivej has joined #lisp
johnnymacs has quit [Ping timeout: 276 seconds]
Folkol_ has joined #lisp
Kundry_Wag has joined #lisp
Folkol_ has quit [Client Quit]
fikka has joined #lisp
Folkol_ has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
pdv has joined #lisp
pdv has quit [Client Quit]
dddddd has joined #lisp
BitPuffin has joined #lisp
<SaganMan>
Morning!
rozenglass has joined #lisp
thuffir has joined #lisp
fikka has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
thuffir has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 240 seconds]
thuffir has joined #lisp
Folkol_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fikka has joined #lisp
<beach>
Hello SaganMan.
<SaganMan>
Hello beach, how is your day?
<beach>
So far so good. Yours?
fikka has quit [Ping timeout: 244 seconds]
fluke` has joined #lisp
thuffir has quit [Ping timeout: 240 seconds]
Folkol_ has joined #lisp
<stacksmith>
counted
<stacksmith>
Sorry, wrong window.
Murii_ has joined #lisp
<SaganMan>
beach: Good. How is your research going?
fikka has joined #lisp
<SaganMan>
stacksmith: haha, nice nick. What are you? data structures nerd?
thuffir has joined #lisp
<beach>
SaganMan: According to plan. Thanks!
fikka has quit [Ping timeout: 248 seconds]
<stacksmith>
Sagan, some kind of nerd. data structures will do.
pdv has joined #lisp
adlai has joined #lisp
adlai has left #lisp [#lisp]
Kundry_Wag has joined #lisp
adlai has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
random-nick has joined #lisp
faraco has joined #lisp
faraco has quit [Changing host]
faraco has joined #lisp
faraco has quit [Client Quit]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
pdv_ has joined #lisp
pdv has quit [Read error: Connection reset by peer]
Folkol_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eminhi has quit [Remote host closed the connection]
pdv_ has quit [Client Quit]
lumm has quit [Client Quit]
pdv_ has joined #lisp
Folkol_ has joined #lisp
lumm has joined #lisp
fikka has joined #lisp
pdv_ has quit [Client Quit]
fikka has quit [Read error: Connection reset by peer]
lnostdal has quit [Ping timeout: 256 seconds]
pdv_ has joined #lisp
thuffir has joined #lisp
pdv_ has quit [Client Quit]
SaganMan has quit [Ping timeout: 264 seconds]
pdv_ has joined #lisp
lumm has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
pdv_ has quit [Remote host closed the connection]
thuffir has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 240 seconds]
xrash has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
thuffir has joined #lisp
igemnace has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
Kevslinger has quit [Quit: Connection closed for inactivity]
fikka has joined #lisp
lumm has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
pierpal has quit [Quit: Poof]
Kundry_Wag has joined #lisp
pierpal has joined #lisp
Folkol_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Folkol_ has joined #lisp
fikka has joined #lisp
Inline has left #lisp ["Leaving"]
thuffir has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 240 seconds]
Josh_2 has joined #lisp
fikka has joined #lisp
pjb has joined #lisp
lnostdal has joined #lisp
User_ has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
User_ has quit [Remote host closed the connection]
rpg has joined #lisp
d4ryus1 has joined #lisp
makomo has joined #lisp
User_ has joined #lisp
User_ has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 240 seconds]
d4ryus has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
pioneer42 has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
thuffir has joined #lisp
fikka has joined #lisp
Bike has joined #lisp
<jeosol>
stylewarning: I missed your comment, about CL being better. My comment yesterday was because I discovered a nasty date related bug in my large code base. It didn't take long to fix the change, just need to add :before defmethod
<jeosol>
regarding your comment being better. That's possible. I mostly focus on the (my) application side and try to do most things as I understand the language
<jeosol>
btw, morning guys
thuffir has quit [Ping timeout: 260 seconds]
<jeosol>
what is the best way to read the output log file (can get as large as 10MB) of a program that runs for several hours, typically 2 to 7 hours. I have to do this for multiple cases also.
fikka has quit [Ping timeout: 240 seconds]
<jeosol>
The reason I want to read the file, is that it emits several messages during the run, e.g., changes in the state of the program, current simulation time (infer % complete), and other info that may be useful to make dynamic changes for next run
nika has quit [Quit: Leaving...]
<jeosol>
For an example of such a message, here is one (running tail -f file) => STEP 1011 TIME= 5607.00 DAYS ( +2.0 DAYS REPT 1 ITS) (9-MAY-2031)
<jeosol>
In this case and for this message, I would be picking up information about TIME (5607 days) and DATE (9-MAY-2031). I figure I'll use some time of regex but it would not be efficient to read the whole file each time (methinks)
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
patlv has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
mprelude has joined #lisp
mprelude has quit [Client Quit]
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
gravicappa has joined #lisp
karlosz has joined #lisp
<_death>
what's wrong with reading it line by line?
lnostdal has quit [Ping timeout: 244 seconds]
kobain has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
Cthulhux has quit [Changing host]
Cthulhux has joined #lisp
lnostdal has joined #lisp
lumm has quit [Ping timeout: 244 seconds]
ebrasca has joined #lisp
milanj_ has joined #lisp
igemnace has quit [Quit: WeeChat 2.1]
lnostdal has quit [Ping timeout: 240 seconds]
milanj has quit [Ping timeout: 260 seconds]
ebrasca has quit [Remote host closed the connection]
ebrasca has joined #lisp
fikka has joined #lisp
thuffir has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
karlosz has quit [Quit: karlosz]
jmercouris has joined #lisp
fikka has joined #lisp
patlv has quit [Ping timeout: 244 seconds]
SaganMan has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
patlv has joined #lisp
fikka has joined #lisp
patlv has quit [Client Quit]
elfmacs has joined #lisp
SlowJimmy has joined #lisp
makomo has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 256 seconds]
thuffir has quit [Ping timeout: 264 seconds]
mprelude has joined #lisp
jmercouris has quit [Remote host closed the connection]
mprelude has quit [Client Quit]
jmercouris has joined #lisp
makomo has joined #lisp
graphene has quit [Remote host closed the connection]
karlosz has joined #lisp
graphene has joined #lisp
fikka has joined #lisp
kuribas has joined #lisp
<kuribas>
hi, where can I find documentation on #. ?
<caltelt>
beach: as an intruder from jvmland, should be an interesting read
<beach>
Good.
Baggers has joined #lisp
<beach>
caltelt: Speaking of JVM, I have read several papers on excellent compacting garbage collectors for Java, but then at the same time I hear that the default garbage collector is of type stop-the-world. I can't quite reconcile the two pieces of information.
faraco has joined #lisp
faraco has joined #lisp
faraco has quit [Changing host]
kajo has quit [Ping timeout: 256 seconds]
<caltelt>
Depends on which version of Java we're talking about. I think the original GC for the JVM was stop-the-world, but latest versions use the ParallelGC.
<shka_>
beach: jvm has more then one GC usable
k4rtik has quit [Ping timeout: 240 seconds]
<caltelt>
Nowadays, the three main GC's I know of that people use are Parallel, Concurrent Mark Sweep, and (the new shiny) G1 gc
<beach>
OK, thanks.
<shka_>
G1 was actually available prior, but it was not default
k4rtik has joined #lisp
mercourisj has joined #lisp
fikka has joined #lisp
jmercouris has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
jibanes has quit [Ping timeout: 240 seconds]
jibanes has joined #lisp
fikka has joined #lisp
faraco has quit [Quit: Leaving]
Kundry_Wag has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
robotoad has quit [Quit: robotoad]
Kundry_Wag has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
DingoSaar has joined #lisp
robotoad has joined #lisp
nowhere_man has quit [Ping timeout: 265 seconds]
fikka has quit [Ping timeout: 264 seconds]
buffergn0me has joined #lisp
dddddd has quit [Remote host closed the connection]
lumm has joined #lisp
gabiruh has quit [Ping timeout: 248 seconds]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
gabiruh has joined #lisp
Ven`` has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
mflem has joined #lisp
red-dot has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
<p_l>
caltelt: ParallelGC is stop the world
gabiruh has quit [Ping timeout: 244 seconds]
<p_l>
caltelt: Concurrent GC does concurrent marking but stops the world for final pass
<p_l>
G1 still stops the world
<p_l>
Shenandoah (latest) doesn't stop the world unless required (too slow compaction rate while concurrent, critical lack of free memory)
k4rtik has quit [Ping timeout: 265 seconds]
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Kundry_Wag has joined #lisp
<p_l>
beach: stop-the-world and compacting also aren't exclusive, but orthogonal (and usually compacting *force* stop the world unless you deal with multi-processor lispm or system where forwarding pointers were made through Software (Shenandoah, Azul)
Kundry_Wag_ has joined #lisp
fikka has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
test1600 has joined #lisp
<makomo>
hello
Posterdati has quit [Ping timeout: 240 seconds]
<makomo>
i need some advice regarding a DSL within lisp i'm going to build. (as i've probably mentioned before) it will be used to define and simulate hardware. now, i would want most of the language to be statically typed, so that everything is chcked *before* the simulation is run
fikka has quit [Ping timeout: 244 seconds]
<makomo>
since the DSL is embedded within lisp, what would be the best way to do stuff like type checking? do i really want to walk the lispy AST and go from that, or should i use macros and expand into stuff that will assert the correctness of these DSL programs?
<caltelt>
Also of note, those GC's are only for the standard openjdk/hotspot JVM's. Other implementations such as IBM have their own GC's (and heap layouts)
<stylewarning>
makomo: If your DSL is statically typed, then you should, in your DSL, either declare the types, or do type inference. In any case, a type analysis would be good for safety.
<stylewarning>
makomo: when you translate your DSL into Lisp, you can declare all of the types within Lisp. You can even be especially good about data allocation so no GC happens.
<makomo>
stylewarning: hm, what do you mean when i "translate it into Lisp"? to me it already is Lisp :-D. do you mean something like "after the DSL stuff expands into code that will build the model of the simulation (using Lisp's data structures)"?
<makomo>
i.e., let the DSL expand into code that builds the model, and then check that model?
<stylewarning>
Yes that’s what I mean
<makomo>
rather than trying to stuff the checking within the expansion
<stylewarning>
No, reverse order. You analyze the model for type safety and the like, then expand it into fully-typed, type-safe
<stylewarning>
code
fikka has joined #lisp
<makomo>
stylewarning: how do i get to the model though without "codewalking" the thing myself?
<stylewarning>
It’s hard to answer without knowing the design of your DSL
<makomo>
stylewarning: what i have in my mind is: DSL (Lisp macros) -> expand into Lisp code that builds the model using CLOS and other stuff
<makomo>
i.e. defining a component will be translated into something like (make-instance 'component ...)
<stylewarning>
Do you have some ideas of what the syntax of the macros would be?
<makomo>
yes, stuff like (defcomponent <name> <pins> <list of options like wires, subcomponents, processes>)
<makomo>
almost like defclass
<stylewarning>
How do components combine?
<makomo>
stylewarning: hierarchically -- one component can have zero or more subcomponents
<makomo>
for example, (defcomponent processor ... (:subcomponents (m memory addr data)))
<Bike>
how do types factor in here? something like "don't connected an output pin to another output pin" doesn't seem like it requires walking or any runtime checks
<stylewarning>
What does it mean to have a sub-component though? How does it interact with other components?
fikka has quit [Ping timeout: 264 seconds]
<makomo>
stylewarning: "addr" and "data" specify that internal wires that are named ADDR and DATA are connected to the two pins of the memory, and that's how they communicate
<makomo>
there are processes within the processor and the memory that use these wires
<makomo>
Bike: and also like being able to assign from pin A to pin B only if they're of the same width
<makomo>
yes, it shouldn't require any checks while the simulation is running, only while it is being "compiled"
<makomo>
but how/where should i implement these checks? within these DSL macros? as an after-step after the model is built (by the DSL macros)?
FreeBirdLjj has quit [Remote host closed the connection]
Posterdati has joined #lisp
k4rtik has joined #lisp
<Bike>
mm, i would say verify it once you've wired up all the intermediate structures you get from the macros
<Bike>
so that e.g. if you define two components you can redefine one without worrying about the other until you're actually ready to go, kind of thing
<beach>
p_l: Thanks for the information.
gabiruh has joined #lisp
<makomo>
Bike: mhm, that seems to make more sense for me, since it's more modular that way. the checking of the model is done after it has been constructed
<makomo>
seems better separated
<p_l>
beach: your complaint reminds me of how annoyingly fragmented and "hidden" of sorts information about GC is :(
<stylewarning>
Also be sure to understand the difference between a component specification (which you can inspect in terms of wire widths, inputs, outputs, etc.) and actual components (which may or may not be CLOS instances at the end; they may be funky efficient compiled code, etc)
<stylewarning>
makomo: ^
<makomo>
stylewarning: yup, definitely. that's one of the key concepts :-)
fikka has joined #lisp
<makomo>
there are <X>-SPEC and <X> classes for components and processes
<stylewarning>
If you defclass a component, I actually suggest you defclass a component-specification. Then you use these specifications to build a model, then you compile that model.
<makomo>
<X> being some name of course
<beach>
p_l: Yes, I see. The published techniques are pretty informative, but what a particular system does may not be very transparent.
k4rtik has quit [Client Quit]
<makomo>
stylewarning: for me, "model" are the component/process specifications. the "non-spec" classes are just particular instances of this specification/model that will be actually run
k4rtik has joined #lisp
k4rtik has joined #lisp
k4rtik has quit [Changing host]
<makomo>
stylewarning: by "defclass a component" do you mean "define a component", i.e. define it using this DSL?
<stylewarning>
makomo: A class shouldn’t be the substrate in which you store specifications, and instances shouldn’t be implementations of those specifications, in my opinion
<makomo>
oh, that's what you mean -- like, i shouldn't represent a component's specification using a CLOS class, but rather a CLOS object (which is an instance of the SOMETHING-SPEC class)?
<stylewarning>
Yes right
<makomo>
yup, that's what i currently have. i did think about representing the components' specs as actual CLOS classes though, but that would require MOP trickery and stuff
fikka has quit [Ping timeout: 244 seconds]
<stylewarning>
Whatever “machine” you’re building will require a graph or tree of these component spec instances, which you can walk and check regarding pins and whatever.
<makomo>
and i'm still not clear on the benefits i would get (except "neat" stuff like instances of these classes corresponding to instances of the specifications, the wires being just plain slots, etc.)
<makomo>
stylewarning: mhm, definitely. why would you avoid using CLOS classes like this though?
skidd0 has joined #lisp
<stylewarning>
I think MOP should be used when one wants to introspect and reflect on CLOS itself.
<Bike>
or make a new clos if you need it, but i don't think you would for this
<stylewarning>
Yeah or that
<makomo>
stylewarning: hmm idk. i don't have that much experience with MOP, but this seemed like one of those "wow it fits really nicely as an idea here" kind of things
<stylewarning>
Using MOP here is, IMO, gratuitous shoehorning of a problem into a somewhat unnatural and overly expressive framework
<makomo>
i.e. the fact that a "class" from this object language corresponds to a class within my host language is pretty cool
<makomo>
hm yeah, i guess i can agree with that
<makomo>
seems a bit overengineered
<stylewarning>
But do you want your components to carry the same dynamicism as a CLOS class?
<pjb>
by defaut, the values are compared with EQL.
<skidd0>
i could loop through all the elements in the list and stop when I find it, but i'm figuring there's a built-in or simpler answer
Kundry_Wag has joined #lisp
<skidd0>
oh thanks pjb
<skidd0>
that's what i was looking for
<stylewarning>
makomo: Having component-specs doesn’t stop you, by the way, from generating component classes when you compile your model. Maybe that’s the easiest way to prototype it at first
test1600_ has joined #lisp
<makomo>
stylewarning: mhm, true. i'll definitely go with that approach for now
<skidd0>
pjb: so the first slot-value is the one i'm looking to find, right?
<skidd0>
(find this-one ..)
<pjb>
You can take the last with :from-end t
DingoSaar has quit [Ping timeout: 240 seconds]
<stylewarning>
makomo: I wouldn’t even worry about the DSL bit at first. I’d start by defining classes and all that stuff without a macro just to nail down exactly what you want
<makomo>
stylewarning: yup, yup, that's how i've started. for now the DSL bit is completley imaginary
test1600 has quit [Ping timeout: 260 seconds]
<stylewarning>
Top-down development of a DSL is only good if you’ve decided on what you’re doing pretty articulately. Otherwise it turns into spaghetti 🍝
<makomo>
as you said, first i want to build the whole simulator and related parts within lisp. macros are just a finish touch
<makomo>
mhm
<makomo>
finishing*
<stylewarning>
Yes great
<makomo>
stylewarning: and regarding code generation/compilation of these processes? the processes themselves are arbitrary code, and i'm thinking about how exactly this code should be generated
<stylewarning>
makomo: the processes may be arbitrary code but you should limit how data is input or output
<makomo>
the macros could expand into lambdas that would store this code, but if i want to add type checking and similar later on, i can't just create these lambdas right away
<makomo>
stylewarning: hmm how exactly?
<stylewarning>
As in, a component’s code shouldn’t know about the other components at all
<stylewarning>
Component code just have “ports” (maybe lambda arguments if there’s no temporal aspect to this) for tx/rx of data
<makomo>
oh, definitely, yes
mercourisj has quit [Remote host closed the connection]
<makomo>
a component's process only has access to the wires internal to the process (including its pins). the fact that these wires are connected to other components is a separate thing
<stylewarning>
Maybe the code should even have explicit time parameters, so you can simulate what happens in any individual timestep. This again gets into exactly the type of thing you’d like to simulate.
jmercouris has joined #lisp
<stylewarning>
(Note that SICP has a little circuit simulator in chapter 3 or something)
krwq has joined #lisp
<edgar-rft>
"little circuit" like SMD? :-)
fikka has joined #lisp
<makomo>
stylewarning: mhm, but that's something that's out of scope for this software i think
<makomo>
at least if i understood you correctly (i'm thinking of stuff like transport and inertial delays that VHDL has)
<makomo>
stylewarning: however, one of the things i would like to do is to compile the code (to Lisp), rather than interpret it myself. what i'm not sure about is whether this code should be put into lambdas when the DSL macros are expanded, or should it be done "manually" by me, using COMPILE, etc.?
nanoz has quit [Quit: Leaving]
rpg has joined #lisp
<makomo>
(also, this means that primitives like signal assignment, etc. would be either macros or functions that would call appropriate lisp functions and modify the instantiated model under the hood)
lumm has quit [Ping timeout: 268 seconds]
Smokitch has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
<stylewarning>
makomo: you can generate LAMBDA code and compile it
<makomo>
stylewarning: right, so that would be the latter, i.e. using COMPILE?
<stylewarning>
Yes, unless the lambdas are generated at macro expansion time
<stylewarning>
Then you don’t need to use COMPILE
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<makomo>
stylewarning: yes, of course
<makomo>
i'll go with that currently and see how it goes
fikka has quit [Ping timeout: 260 seconds]
milanj_ has joined #lisp
kuribas has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 25.3.1)]